package br.academia


import br.atribicoes.professor.*
import br.atribicoes.professor.producaoAcademica.*
import br.atribuicoes.professor.producaoAcademica.ProducaoAcademica;
import br.memorando.Memorial;


class Professor extends Pessoa{
	
    static constraints = {
		matricula (nullable: false, blank: false, size: 3..6)
		dataDeIngresso(nullable: false, max: new Date())
		totalDePontos(nullable: false)
		departamento(nullable: true)
		classe (nullable: false)
		nivel (nullable: false)
    }
	
	static hasMany = [
					  producoesAcademica: ProducaoAcademica
					, atividadesEnsino: AtividadeEnsino
					, atividadesAdministrativas: AtividadeAdministrativa
					, orientacoes: Orientacao
					, memorial: Memorial
					, capacitacaoDocente: CapacitacaoDocente
					]
	
	
	String matricula
	Departamento departamento
	Date dataDeIngresso
	float totalDePontos
	
	ClasseDoProfessor classe
	NivelDoProfessor nivel
	
	String toString(){
		return "${matricula} - ${nome}"
	}

}

/*

	public static final A = "A"
	public static final B = "B"
	public static final C = "C"
	public static final D = "D"
	
	public static final PROFESSOR_AUXILIAR = "Professor Auxiliar"
	public static final PROFESSOR_ASSISTENTE = "Professor Assistente"
	public static final PROFESSOR_ADJUNTO = "Professor Adjunto"
	public static final PROFESSOR_ASSOCIADO = "Professor Associado"
	public static final PROFESSOR_TITULAR = "Professor Titular"
	
	String nivel
	String classe

I - Professor Auxiliar, níveis A, B, C e D;
II - Professor Assistente, níveis A, B, C e D;
III - Professor Adjunto, níveis A, B, C e D;
IV - Professor Associado, níveis A, B e C;
V - Professor Titular.
*/
